// 导入全局配置
const { port } = require("./config")
// 引入中间件
// 跨域中间件
const cors = require("cors")
// 导入解析cookie中间件
const cookieParser = require("cookie-parser")
// 导入地址处理包
const path = require("path")

// 开启服务器
const express = require("express")
const app = express()
app.listen(port, () => {
  console.log(`http://localhost:${port}`)
})

// 静态资源托管
app.use("/client",express.static("client"))

// 进入首页
app.all("/",(req,res)=>{
  res.redirect("/client/index")
})

// 跨域中间件
app.use(cors())
// 解析post参数
app.use(express.urlencoded({extended:false}))
app.use(express.json())
// 解析cookie
app.use(cookieParser())

// 连接数据库
const collection = require("./utils/collection")

// 导入路由
app.use(require("./router"))

// 异常处理
app.use((err,req,res,next)=>{
  res.send(err)
})

// 404处理
app.use((req,res)=>{
  // 当所有的路由都不匹配时, 则会执行404
  res.status(404).sendFile(path.resolve("./client/notFind/index.html"))
})